Kiểu dữ liệu Pascal (ngôn ngữ lập trình)

Pascal gồm các kiểu đơn lẻ như integer, char, boolean, kiểu đoạn con,... Ngoài ra còn kiểu cấu trúc như array, string, record, object, class,... Cuối cùng là kiểu số thực: real.

Các kiểu số nguyên

Tên kiểuKhoảng cách giá trịDung lượng theo bytes
Byte0.. 2551
Shortint-128.. 1271
Smallint-32 768.. 32 7672
Word0.. 65 5352
Integer-32 768.. 32 7672 [4]
Longint-2 147 483 648.. 2 147 483 6474
Longword0.. 4 294 967 2954
int64-9 223 372 036 854 775 808.. 9 223 372 036 854 775 8078 [5]
QWord0.. 18 446 744 073 709 551 6158 [6]
Cardinal,

Dword

Tương đương với longword

Các kiểu số thực

Tên kiểuKhoảng cáchSố chữ số có nghĩaDung lượng theo bytes
Realphụ thuộc vào nền tảngKhông rõ4 đến 8
Single1.6E-45.. 3.4E387-84
Double5.0E-324.. 1.7E30815-168
Extended1.9E-4932.. 1.1E493219-2010
Comp-2E64+1.. 2E63-119-208
Currency-922337203685477.5808.. 922337203685477.580719-208

Kiểu chữ

Tất cả các kiểu chữ đều có thể lưu được các ký tự trong bảng mã ASCII

TênSố ký tự lưu đượcDung lượng theo bytes
Char11
Widechar1 ký tự unicode2
String255?
ShortstringTương tự String (255)?
AnsistringTùy thuộc vào bộ nhớ (càng nhiều bộ nhớ thì lưu được càng nhiều - tối đa 2GB)?

Phương pháp khai báo biến

Đây là một số khai báo kiểu của Pascal:

 1 type (* Khai báo kiểu*) 2 KieuSoNguyen = integer; 3 KieuSoNguyenDuong = QWord; 4 MangSoNguyen = array[1..239] of KieuSoNguyen; 5  6 DiaChi = record 7   xa, huyen, tinh: string; 8   SoNha: integer; 9 end;10 11 { hướng đối tượng }12 ConVat = object13   Ten: string;14   Lop: string;15 end;16   17 ConGa = object(ConVat)18   TiengGay: string;19 end;20 21 { Kiểu đoạn con, kiểu tự định nghĩa }22 SoDem = (mot, hai, ba, bon, nam);23 SoNho = 0..10;24 SoDemNho = mot.. ba;

Từ đó, ta có thể khai báo các biến và sử dụng chúng:

 1 var 2   x: integer; y: KieuSonguyenduong; 3   A: mangsonguyen; 4   GaTrong: ConGa; 5   z: SoDemNho; 6 Begin {thân chương trình } 7   x:= 5; 8   y:= x+10; 9   y:= y-1;10   GaTrong.TiengGay:= 'O O O...';11   writeln(GaTrong.TiengGay);12 End.

Các kiểu phức có thể được xây dựng từ các kiểu đơn:

1 type2     a = array [1..10] of integer;3     b = record4             a: integer;5             b: char6         end;7     c = file of a;

Kiểu chuỗi ký tự (string) là kiểu dữ liệu rất mạnh.

Pascal cũng hỗ trợ dùng con trỏ:

1 type2      a = ^b;3      b = record4             a: integer;5             b: char;6             c: a7          end;8 var9      pb: a

Ở đây biến pb là một con trỏ đến kiểu dữ liệu b, là một record. Để tạo record mới và gán các giá trị 10A vào các trường ab trong record, có thể dùng các câu lệnh sau:

1 new(pb);2 pb^.a:= 11;3 pb^.b:= 'A';4 pb^.c:= nil;5 ...

Danh sách liên kết cũng có thể được tạo ra bằng cách cho một trường kiểu con trỏ (c) vào trong record.